Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outline Hubot Evolution process #1

Merged
merged 13 commits into from
May 24, 2017
Merged

Outline Hubot Evolution process #1

merged 13 commits into from
May 24, 2017

Conversation

bkeepers
Copy link
Contributor

Here is a process largely lifted from Swift Evolution for proposing and discussing new features for Hubot. Check out the README for an overview.

The largest change from Swift Evolution is making the process entirely based on Pull Requests, instead of a hybrid of mailing list+Pull Requests+website.

cc @hubotio/maintainers @technicalpickles @mose @gr2m

CONTRIBUTING.md Outdated
1. **Consider the goals of the upcoming release**: Each major release is focused on a [specific set of goals](README.md) described early in the release cycle. When proposing a change, please consider how your proposal fits in with the larger goals of the upcoming release. Proposals that are out of scope may still be considered, but will likely be postponed.
1. **Socialize the idea**: Before starting the review process, it's helpful to gauge interest from the community. Ideally, the idea would have come up in a discussion in another issue or in [chat][] and the consensus was to start an evolution proposal.
1. **Develop the proposal**: open a Pull Request with a rough sketch of the proposal using the [proposal template](template.md) in the [_drafts](https://github.com/hubotio/evolution/new/master/_drafts) directory. Prototyping an implementation and its uses along with the proposal is encouraged, because it helps ensure both technical feasibility of the proposal as well as validating that the proposal solves the problems it is meant to solve.
1. **Request a review**: When you are ready for feedback from the Hubot community, change the frontmatter in your proposal from `status: in-progress` to `status: in-review`.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyone have a better idea for how to manage this step? We need a way to announce to the community that a proposal is ready for review.

I was thinking we would add some automation here where changes to the frontmatter of the proposal would update the labels on the PR, cc @hubotio/maintainers, and post an announcement in Slack.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think changing the label is good enough to start. I would reflect on the process as we go and see what we can improve. We will hopefully have people who made proposals already and went trough the process, getting their feedback will help us prioritize on the parts of the process we should improve.

Copy link

@gr2m gr2m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great start that we can iterate on as we go

bkeepers added 3 commits May 20, 2017 19:39
This is for https://github.com/integration/state, which will ensure that each Issue and Pull Request is in a unique state.
@bkeepers
Copy link
Contributor Author

I created a project board and installed a state integration that will automatically update the board as lablels are added and proposals move through the process.

I think this is good to go.

@bkeepers bkeepers requested review from technicalpickles and mose May 21, 2017 15:22
Copy link
Member

@technicalpickles technicalpickles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great ✨

At first glance, I was a little apprehensive about how many states there were, and if maybe this was a bit too much process. Reading over the rest though, I think it's laid out really well, so I'm not as concerned with that.

* **In Progress**: The authors are still working on the proposal and are not yet ready for review.
* **In Review**: The proposal is ready for review and comments from the community.
* **Withdrawn**: The proposal has been withdrawn by the original submitter.
* **Deferred**: Consideration of the proposal has been deferred because it does not meet the [goals of the upcoming release](README.md). Deferred proposals will be reconsidered when scoping the next major release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really ❤️ this state. I think there has always been some tension when adding new features, where I haven't wanted to say no to them, but now just didn't feel like the right time to do them. Deferred feels right in this context, as it doesn't mean no, just not now, with a concrete way to revisit them after the next major release.

@bkeepers
Copy link
Contributor Author

Thanks for the review, everyone! Now that this has been accepted, the last step is to add it to the contribution docs. I'm going to go ahead an merge this so I can start linking to it, and will update the labels once it's fully implemented.

@bkeepers bkeepers merged commit e6fca0c into master May 24, 2017
@bkeepers bkeepers deleted the process branch May 24, 2017 16:45
@bkeepers bkeepers removed the Accepted label May 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants